/**
 * author：AbuCoder
 * date:2022年5月22日13:53:23
 * 封装的异步请求处理函数
 * 需要在main.js引入与挂载 import request from 'utils/request.js'  //引入异步请求函数
 *  Vue.prototype.request = request.request //挂载到全局
 * 使用方法为:
 * request('接口名称',{key:value},'请求方式(默认为GET)')
 * .then(res=>{console.log(res)})
 */
import { getToken} from "./auth";
import { baseUrl,uploadUrl } from "./apiconfig";
// let baseUrl = 'https://ga.rasmall.cn/prod-api/wxapi/';
// let baseUrl = 'http://localhost:8083/wxapi/'
export const http = async (mehtod, type, params, callBack) => {
  //创建一个名为request请求的方法函数
  if (!type) {
    type = 'GET';
  }
  let header = {
    //设置请求头信息
    'Authorization': getToken(),
    // 'X-Requested-With': 'XMLHttpRequest',
    "Accept": "application/json",
    "Content-Type": "application/json; charset=UTF-8"
  };
  let http = {
    url: baseUrl + mehtod,
    data: params,
    method: type,
    header: header
  };
  let promise = new Promise((resolve, reject) => {
    uni.request(http).then(res => {
        // console.log(res)
        if (res[1].data.status === 200) {
            resolve(res[1].data);
        } else {
            uni.showToast({
                title: res[1].data.msg,
                icon: 'none',
                duration: 2000
            });
        }
    }).catch(err => {
      reject(err);
      console.log(err);
    });
  });
  return promise;
}

export const downLoadImg = async src => {
    uni.showLoading({
        title: '图片下载中'
    })
    uni.downloadFile({
        url: src,
        success: (res) => {
            if (res.statusCode === 200) {
                const tempFilePath = res.tempFilePath;
                uni.showLoading({
                    title: '图片保存中'
                })
                // 保存文件到本地
                uni.saveImageToPhotosAlbum({
                    filePath: tempFilePath,
                    success: (saveRes) => {
                        console.log('文件保存成功!', saveRes);
                        uni.showToast({
                            title: '保存成功！',
                            icon: 'success',
                            duration: 2000
                        });
                    },
                    fail: (err) => {
                        uni.showToast({
                            title: '保存失败！',
                            icon: 'none',
                            duration: 2000
                        });
                    }
                });
            } else {
                console.error('下载失败:', res);
                uni.showToast({
                    title: '下载失败',
                    icon: 'none',
                    duration: 2000
                });
            }
        },
        fail: (err) => {
            console.error('下载失败:', err);
            uni.showToast({
                title: '下载失败',
                icon: 'none',
                duration: 2000
            });
        }
    });
}